package main

import (
	"fmt"
	"regexp"
)

func main() {
	//FindStringSubmatch 返回一段字符串，其中包含 s 中正则表达式最左边匹配的文本及其子表达式的匹配（如果有）
	//，如包注释中的“Submatch”描述所定义。 返回值 nil 表示不匹配。

	re := regexp.MustCompile(`a(x*)b(y|z)c`)
	fmt.Printf("%q\n", re.FindStringSubmatch("-axxxbyc-"))
	fmt.Printf("%q\n", re.FindAllStringSubmatch("-axxxbyc-", -1))
	fmt.Printf("%q\n", re.FindStringSubmatch("-abzc-"))
	fmt.Printf("%q\n", re.FindAllStringSubmatch("-abzc-", -1))
	//["axxxbyc" "xxx" "y"]
	//[["axxxbyc" "xxx" "y"]]
	//["abzc" "" "z"]
	//[["abzc" "" "z"]]
}
